package day8;

public abstract class Testabstract {
    //只有声明，没有实现:抽象方法
    //如果类中存在抽象方法  该类一定是抽象类，反之不行
    public abstract void test();
    public abstract int test5(int a, int b);
    //成员变量
    String a;
    //静态变量
    static String b;
    //普通方法
    public void test2() {}
    //静态方法
    public static void test3() {}
    //构造方法
    public Testabstract() {}

    public static void main(String[] args) {
        //抽象类不能被实例化(不能new),为什么？
        //抽象类里面可能存在抽象方法(方法只有一半没有写完)
        //除非：通过匿名内部类  把没有写完的代码写完（方法重写实现）
        Testabstract ta = new Testabstract() {
            String name;
            public void test4(){}
            @Override
            public void test() {

            }

            @Override
            public int test5(int a, int b) {
                return 0;
            }
        };
    }
}

class ChildAbstract extends Testabstract{
    @Override
    public void test() {

    }

    @Override
    public int test5(int a, int b) {
        return 0;
    }
}